import type {
  Address,
  ExpressData,
  MedicalOrderDetail,
  OrderListData,
  OrderPre,
  OrderQuery,
} from '@/types/order'
import { request } from '@/utils/request'

/** 收货人地址 */
export const addressListApi = () => {
  return request.get<null, Address[]>('/patient/order/address')
}

/** 预付订单信息 */
export const preOrderApi = (prescriptionId: string) => {
  return request.get<null, OrderPre>(`/patient/medicine/order/pre`, {
    params: {
      prescriptionId,
    },
  })
}

/** 药品待支付订单 */
export const createMedicineOrderApi = (id: string, addressId: string) => {
  return request.post<any, { id: string }>(`/patient/medicine/order`, { id, addressId })
}

/**
 * 获取药品订单详情
 * @param id 订单id
 * @returns
 */
export const getMedicalOrderDetail = (id: string) =>
  request.get<any, MedicalOrderDetail>(`/patient/medicine/order/detail/${id}`)

/**
 * 药品订单列表
 */
export const orderListApi = (status = 10, current = 1, pageSize = 10) => {
  return request.get<null, { rows: Array<any> }>('/patient/medicine/order/mylist', {
    params: { status, current, pageSize },
  })
}

/**
 * 医生问诊列表
 */
export const orderDocListApi = (data: OrderQuery) => {
  return request.get<null, OrderListData>('/patient/consult/order/list', { params: data })
}

/**
 * 物流订单详情
 */

// 获取药品订单物流信息
export const getMedicalOrderLogistics = (id: string) => {
  return request.get<null, ExpressData>(`/patient/order/${id}/logistics`)
}
